Many integrated circuits (“ICs”) are made up of millions of interconnected devices, such as transistors, resistors, capacitors, and diodes, on a single chip of semiconductor substrate. It is generally desirable that ICs operate as fast as possible, and consume as little power as possible. Semiconductor ICs often include one or more types of memory, such as CMOS memory, antifuse memory, and efuse memory.
One-time-programmable (“OTP”) memory elements are used in ICs to provide non-volatile memory (“NVM”). Data in NVM are not lost when the IC is turned off. NVM allows an IC manufacturer to store lot number and security data on the IC, for example, and is useful in many other applications. One type of NVM is commonly called an E-fuse.
E-fuses are usually integrated into semiconductor ICs by using a stripe (commonly also called a “link”) of conducting material (metal, poly-silicon, etc.) between two pads, generally referred to as anode and cathode. Applying a fuse current (IFUSE) to the E-fuse destroys the link, thus changing the resistance of the E-fuse. This is commonly referred to as “programming” the E-fuse. The fuse state (i.e., whether it has been programmed) can be read using a sense circuit, which is common in the art of electronic memories.
FIGS. 1A and 1B are plan views of E-fuses 100, 120. FIG. 1A shows a first type of E-fuse 100 with a fuse link 102 between an anode 104 and a cathode 106. The anode, fuse link, and cathode are typically polysilicon formed on relatively thick field oxide. Contacts (not shown) provide electrical terminals to the anode and cathode. The fuse link has a relatively small cross section, which results in Joule heating of the link during programming to convert the E-fuse to a high resistance state.
FIG. 1B shows a second type of E-fuse 120 with a fuse link 122 between an anode 124 and a cathode 126. The fuse link 122 is longer and wider than the fuse link 102; however, both E-fuses 100, 120 have the same aspect ratios and similar pristine (unprogrammed) resistances with proper design. That is, for a given voltage, each will draw the same current. However, each fuse might have a different programming characteristic and programmed resistance depending on the design geometry of the IC and other factors.
Programming polysilicon fuse links involves irreversible physical deformation from localized electrical heating, electro-migration, and thermal stress effects. Programming generally converts the E-fuse from an original resistance to a programmed resistance. It is desirable for the programmed resistance to be much higher (typically many orders of magnitude higher) than the original resistance to allow reliable reading of the E-fuse using a sensing circuit.
Unfortunately, wafer-to-wafer variation and run-out across a wafer results in some E-fuses programming differently than other. Programming the E-fuses of an IC sometimes result in improper programming. That is, some of the programmed E-fuses do not have the desired program resistance. These E-fuses are often referred to as “tail bits”. It is desirable to reduce the number of tail bits as much as possible, in order to increase fuse programming yield and to guarantee reliable operation over time and process-voltage-temperature variation.